// 
// @Auther: by wujehy
// @Email:wujehy@qq.com
// @Data:2021/1/31.
// @Time:下午3:40.
// 
//

#ifndef IFELSETOMAPTEST_BASE_H
#define IFELSETOMAPTEST_BASE_H

#include <iostream>
#define LOGDEBUF()  std::cout << "[D]["<<__TIMESTAMP__<<"][" <<__FILE__ << ":"<<__LINE__ <<" " << __FUNCTION__ <<" ]:"
#define LOGINFO()   std::cout << "[I]["<<__TIMESTAMP__<<"][" <<__FILE__ << ":"<<__LINE__ <<" " << __FUNCTION__ <<" ]:"
#define LOGERROR()  std::cout << "[E]["<<__TIMESTAMP__<<"][" <<__FILE__ << ":"<<__LINE__ <<" " << __FUNCTION__ <<" ]:"
/**
 * @brief 数据包结构
 */
struct DataPacket{
    int type ; ///< 业务的类型 要和 路由规则相同
    int subtype; ///< 业务子类型
    int code ; ///< 错误码
    std::string errmsg ; ///< 错误信息
    std::string body; ///< 消息体
};

/**
 * @brief 描述 模块的主类型
 */
enum ModuleTypeEnum{
    Mod_Msg = 1 , ///< 假设是消息模块的标号
    Mod_User = 2 , ///< 用户模块
};

/**
 * @brief 消息模块的子模块类型
 */
enum MsgSubTypeEnum{
    Msg_Send = 1 ,
    Msg_Recv = 2 ,
    // ...
};

/**
 * @brief 用户模块的子模块类型
 */
enum UserSubTypeEnum{
    User_Login = 1 ,
    // ...
};
#endif //IFELSETOMAPTEST_BASE_H
